#ifndef _LIUNXCPU_CONFIG_H_
#define _LIUNXCPU_CONFIG_H_

#define SLAVER_MACHINE  0                //0 主(网络上报和双CPU状态上报) + PCIE部分数据, 1 PCIE 部分数据 + 网络数据  
#define SLAVER_HOST "192.168.70.11"      //双CPU之间的网口-配置从服务器的地址

#define LOCAL_ADDR "192.168.137.22"     //#fixme: ip地址修改, 修改成当前机器的IP
#define GROUPCAST_PORT 65000             //配置端口
/** 是否开启DEBUG模式  **/
#define _LOG_DEBUG_

/** 日志级别 0 nprint, 1 war  **/
#define _LOG_LEVEL_ 1

/** 网络相关配置 */
#define GROUPCAST_ADDR "232.0.0.1"

/** VLAN 的数据缓冲区 */
#define VLAN_BUFF_SIZE 64*1024   //64KB

/** 单位设置 */
#define PCIE_UINT_1MB (256 * 1024)

// #fixme: 文件读写路径配置
#define SAVE_PATH "/mnt/cephfs/"
// #define SAVE_PATH "/home/han/data/"

/** PCIE 写文件的线程数 */
#define PCIE_WRITEFILES_THREAD_NUM 4
/** 网口个数 */
#define VALN_NUM 6
/** 光纤个数 */
#define PCIE_OPTI_NUM 22

// #fixme: 如果没有PCIE 接口, 使用测试代码
// #define IF_NOEXIT_PCIE
#define SIM_PCIE_NUM        4   //模拟PCIE通道数
#define NO_PCIE             1   //0, 禁止PCIE数据采集
#if SLAVER_MACHINE
#define NO_WLAN             1   //0, 禁止WLAN数据采集和网络上报
#else
#define NO_WLAN             0   //1, 启动WLAN数据采集和网络上报
#endif
// #fixme: 注解文件写入,测试PCIE->驱动->内存的带宽
// #define TEST_PICE_TO_CPU
/** 实时显示队列状况 */
// #define QUEUE_STATUS

#define PCIE_MB_SIZE 1      //单位MB
#define PCIE_QUEUE_NUM 20   //使用10个队列存储, 内存最小为 (10*PCIE_MB_SIZE)MB
#define PCIE_QUEUE_EXTEN 10 //可扩容的队列

#define FILE_HECHA 0x0

/** 环境配置 **/
/** PCIE缓存区 4字节为单位 */
#define PCIE_BUFF_SIZE PCIE_UINT_1MB * 1
/** PCIE 对 CPU 缓冲区数据块大小, 用于接收PCIE缓存区的数据 */
#define DATA_PCIE_BUFF_SIZE PCIE_BUFF_SIZE * 4

/** 文件名的长度 */
#define FILE_NAME_SIZE 40

/** DMA 这个过程使用新的线程去做, 这里表示每个线程所需要开启共同读写的文件的最大个数 */
#define PCIE_FILE_SIZE ((PCIE_OPTI_NUM + VALN_NUM) / PCIE_WRITEFILES_THREAD_NUM + 1)
/** 计算 pwf, 也就是计算写文件的线程的个数, 就目前而言, 和PCIE的文件写线程一样, 使用 4 线程 */
#define PWF_SIZE PCIE_WRITEFILES_THREAD_NUM


#define SINCE_TEST  0   //手动自检模式
#define VLAN_TEST   1   //自检模式是否开启网络



// CPU 引脚断电保护 详细信息 ../public/images/GPIO.png
#define SYSFS_GPIO_RST_VAL            "/sys/class/gpio/gpio389/value"

#endif
